//-------------------------------------------------------------------------------------------------------
// Copyright (C) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
//-------------------------------------------------------------------------------------------------------

function write(v) { WScript.Echo(v + ""); }

function foo() {}

write(+0.0 & '');
write(+0.0 & 0xa);
write(+0.0 & 04);
write(+0.0 & 'hello');
write(+0.0 & 'hel' + 'lo');
write(+0.0 & String(''));
write(+0.0 & String('hello'));
write(+0.0 & String('h' + 'ello'));
write(+0.0 & new String(''));
write(+0.0 & new String('hello'));
write(+0.0 & new String('he' + 'llo'));
write(+0.0 & new Object());
write(+0.0 & new Object());
write(+0.0 & [1, 2, 3]);
write(+0.0 & [1 ,2 , 3]);
write(+0.0 & new Array(3));
write(+0.0 & Array(3));
write(+0.0 & new Array(1 ,2 ,3));
write(+0.0 & Array(1));
write(+0.0 & foo);
write(1 & undefined);
write(1 & null);
write(1 & true);
write(1 & false);
write(1 & Boolean(true));
write(1 & Boolean(false));
write(1 & new Boolean(true));
write(1 & new Boolean(false));
write(1 & NaN);
write(1 & +0);
write(1 & -0);
write(1 & 0);
write(1 & 0.0);
write(1 & -0.0);
write(1 & +0.0);
write(1 & 1);
write(1 & 10);
write(1 & 10.0);
write(1 & 10.1);
write(1 & -1);
write(1 & -10);
write(1 & -10.0);
write(1 & -10.1);
write(1 & Number.MAX_VALUE);
write(1 & Number.MIN_VALUE);
write(1 & Number.NaN);
write(1 & Number.POSITIVE_INFINITY);
write(1 & Number.NEGATIVE_INFINITY);
write(1 & new Number(NaN));
write(1 & new Number(+0));
write(1 & new Number(-0));
write(1 & new Number(0));
write(1 & new Number(0.0));
write(1 & new Number(-0.0));
write(1 & new Number(+0.0));
write(1 & new Number(1));
write(1 & new Number(10));
write(1 & new Number(10.0));
write(1 & new Number(10.1));
write(1 & new Number(-1));
write(1 & new Number(-10));
write(1 & new Number(-10.0));
write(1 & new Number(-10.1));
write(1 & new Number(Number.MAX_VALUE));
write(1 & new Number(Number.MIN_VALUE));
write(1 & new Number(Number.NaN));
write(1 & new Number(Number.POSITIVE_INFINITY));
write(1 & new Number(Number.NEGATIVE_INFINITY));
write(1 & '');
write(1 & 0xa);
write(1 & 04);
write(1 & 'hello');
write(1 & 'hel' + 'lo');
write(1 & String(''));
write(1 & String('hello'));
write(1 & String('h' + 'ello'));
write(1 & new String(''));
write(1 & new String('hello'));
write(1 & new String('he' + 'llo'));
write(1 & new Object());
write(1 & new Object());
write(1 & [1, 2, 3]);
write(1 & [1 ,2 , 3]);
write(1 & new Array(3));
write(1 & Array(3));
write(1 & new Array(1 ,2 ,3));
write(1 & Array(1));
write(1 & foo);
write(10 & undefined);
write(10 & null);
write(10 & true);
write(10 & false);
write(10 & Boolean(true));
write(10 & Boolean(false));
write(10 & new Boolean(true));
write(10 & new Boolean(false));
write(10 & NaN);
write(10 & +0);
write(10 & -0);
write(10 & 0);
write(10 & 0.0);
write(10 & -0.0);
write(10 & +0.0);
write(10 & 1);
write(10 & 10);
write(10 & 10.0);
write(10 & 10.1);
write(10 & -1);
write(10 & -10);
write(10 & -10.0);
write(10 & -10.1);
write(10 & Number.MAX_VALUE);
write(10 & Number.MIN_VALUE);
write(10 & Number.NaN);
write(10 & Number.POSITIVE_INFINITY);
write(10 & Number.NEGATIVE_INFINITY);
write(10 & new Number(NaN));
write(10 & new Number(+0));
write(10 & new Number(-0));
write(10 & new Number(0));
write(10 & new Number(0.0));
write(10 & new Number(-0.0));
write(10 & new Number(+0.0));
write(10 & new Number(1));
write(10 & new Number(10));
write(10 & new Number(10.0));
write(10 & new Number(10.1));
write(10 & new Number(-1));
write(10 & new Number(-10));
write(10 & new Number(-10.0));
write(10 & new Number(-10.1));
write(10 & new Number(Number.MAX_VALUE));
write(10 & new Number(Number.MIN_VALUE));
write(10 & new Number(Number.NaN));
write(10 & new Number(Number.POSITIVE_INFINITY));
write(10 & new Number(Number.NEGATIVE_INFINITY));
write(10 & '');
write(10 & 0xa);
write(10 & 04);
write(10 & 'hello');
write(10 & 'hel' + 'lo');
write(10 & String(''));
write(10 & String('hello'));
write(10 & String('h' + 'ello'));
write(10 & new String(''));
write(10 & new String('hello'));
write(10 & new String('he' + 'llo'));
write(10 & new Object());
write(10 & new Object());
write(10 & [1, 2, 3]);
write(10 & [1 ,2 , 3]);
write(10 & new Array(3));
write(10 & Array(3));
write(10 & new Array(1 ,2 ,3));
write(10 & Array(1));
write(10 & foo);
write(10.0 & undefined);
write(10.0 & null);
write(10.0 & true);
write(10.0 & false);
write(10.0 & Boolean(true));
write(10.0 & Boolean(false));
write(10.0 & new Boolean(true));
write(10.0 & new Boolean(false));
write(10.0 & NaN);
write(10.0 & +0);
write(10.0 & -0);
write(10.0 & 0);
write(10.0 & 0.0);
write(10.0 & -0.0);
write(10.0 & +0.0);
write(10.0 & 1);
write(10.0 & 10);
write(10.0 & 10.0);
write(10.0 & 10.1);
write(10.0 & -1);
write(10.0 & -10);
write(10.0 & -10.0);
write(10.0 & -10.1);
write(10.0 & Number.MAX_VALUE);
write(10.0 & Number.MIN_VALUE);
write(10.0 & Number.NaN);
write(10.0 & Number.POSITIVE_INFINITY);
write(10.0 & Number.NEGATIVE_INFINITY);
write(10.0 & new Number(NaN));
write(10.0 & new Number(+0));
write(10.0 & new Number(-0));
write(10.0 & new Number(0));
write(10.0 & new Number(0.0));
write(10.0 & new Number(-0.0));
write(10.0 & new Number(+0.0));
write(10.0 & new Number(1));
write(10.0 & new Number(10));
write(10.0 & new Number(10.0));
write(10.0 & new Number(10.1));
write(10.0 & new Number(-1));
write(10.0 & new Number(-10));
write(10.0 & new Number(-10.0));
write(10.0 & new Number(-10.1));
write(10.0 & new Number(Number.MAX_VALUE));
write(10.0 & new Number(Number.MIN_VALUE));
write(10.0 & new Number(Number.NaN));
write(10.0 & new Number(Number.POSITIVE_INFINITY));
write(10.0 & new Number(Number.NEGATIVE_INFINITY));
write(10.0 & '');
write(10.0 & 0xa);
write(10.0 & 04);
write(10.0 & 'hello');
write(10.0 & 'hel' + 'lo');
write(10.0 & String(''));
write(10.0 & String('hello'));
write(10.0 & String('h' + 'ello'));
write(10.0 & new String(''));
write(10.0 & new String('hello'));
write(10.0 & new String('he' + 'llo'));
write(10.0 & new Object());
write(10.0 & new Object());
write(10.0 & [1, 2, 3]);
write(10.0 & [1 ,2 , 3]);
write(10.0 & new Array(3));
write(10.0 & Array(3));
write(10.0 & new Array(1 ,2 ,3));
write(10.0 & Array(1));
write(10.0 & foo);
write(10.1 & undefined);
write(10.1 & null);
write(10.1 & true);
write(10.1 & false);
write(10.1 & Boolean(true));
write(10.1 & Boolean(false));
write(10.1 & new Boolean(true));
write(10.1 & new Boolean(false));
write(10.1 & NaN);
write(10.1 & +0);
write(10.1 & -0);
write(10.1 & 0);
write(10.1 & 0.0);
write(10.1 & -0.0);
write(10.1 & +0.0);
write(10.1 & 1);
write(10.1 & 10);
write(10.1 & 10.0);
write(10.1 & 10.1);
write(10.1 & -1);
write(10.1 & -10);
write(10.1 & -10.0);
write(10.1 & -10.1);
write(10.1 & Number.MAX_VALUE);
write(10.1 & Number.MIN_VALUE);
write(10.1 & Number.NaN);
write(10.1 & Number.POSITIVE_INFINITY);
write(10.1 & Number.NEGATIVE_INFINITY);
write(10.1 & new Number(NaN));
write(10.1 & new Number(+0));
write(10.1 & new Number(-0));
write(10.1 & new Number(0));
write(10.1 & new Number(0.0));
write(10.1 & new Number(-0.0));
write(10.1 & new Number(+0.0));
write(10.1 & new Number(1));
write(10.1 & new Number(10));
write(10.1 & new Number(10.0));
write(10.1 & new Number(10.1));
write(10.1 & new Number(-1));
write(10.1 & new Number(-10));
write(10.1 & new Number(-10.0));
write(10.1 & new Number(-10.1));
write(10.1 & new Number(Number.MAX_VALUE));
write(10.1 & new Number(Number.MIN_VALUE));
write(10.1 & new Number(Number.NaN));
write(10.1 & new Number(Number.POSITIVE_INFINITY));
write(10.1 & new Number(Number.NEGATIVE_INFINITY));
write(10.1 & '');
write(10.1 & 0xa);
write(10.1 & 04);
write(10.1 & 'hello');
write(10.1 & 'hel' + 'lo');
write(10.1 & String(''));
write(10.1 & String('hello'));
write(10.1 & String('h' + 'ello'));
write(10.1 & new String(''));
write(10.1 & new String('hello'));
write(10.1 & new String('he' + 'llo'));
write(10.1 & new Object());
write(10.1 & new Object());
write(10.1 & [1, 2, 3]);
write(10.1 & [1 ,2 , 3]);
write(10.1 & new Array(3));
write(10.1 & Array(3));
write(10.1 & new Array(1 ,2 ,3));
write(10.1 & Array(1));
write(10.1 & foo);
write(-1 & undefined);
write(-1 & null);
write(-1 & true);
write(-1 & false);
write(-1 & Boolean(true));
write(-1 & Boolean(false));
write(-1 & new Boolean(true));
write(-1 & new Boolean(false));
write(-1 & NaN);
write(-1 & +0);
write(-1 & -0);
write(-1 & 0);
write(-1 & 0.0);
write(-1 & -0.0);
write(-1 & +0.0);
write(-1 & 1);
write(-1 & 10);
write(-1 & 10.0);
write(-1 & 10.1);
write(-1 & -1);
write(-1 & -10);
write(-1 & -10.0);
write(-1 & -10.1);
write(-1 & Number.MAX_VALUE);
write(-1 & Number.MIN_VALUE);
write(-1 & Number.NaN);
write(-1 & Number.POSITIVE_INFINITY);
write(-1 & Number.NEGATIVE_INFINITY);
write(-1 & new Number(NaN));
write(-1 & new Number(+0));
write(-1 & new Number(-0));
write(-1 & new Number(0));
write(-1 & new Number(0.0));
write(-1 & new Number(-0.0));
write(-1 & new Number(+0.0));
write(-1 & new Number(1));
write(-1 & new Number(10));
write(-1 & new Number(10.0));
write(-1 & new Number(10.1));
write(-1 & new Number(-1));
write(-1 & new Number(-10));
write(-1 & new Number(-10.0));
write(-1 & new Number(-10.1));
write(-1 & new Number(Number.MAX_VALUE));
write(-1 & new Number(Number.MIN_VALUE));
write(-1 & new Number(Number.NaN));
write(-1 & new Number(Number.POSITIVE_INFINITY));
write(-1 & new Number(Number.NEGATIVE_INFINITY));
write(-1 & '');
write(-1 & 0xa);
write(-1 & 04);
write(-1 & 'hello');
write(-1 & 'hel' + 'lo');
write(-1 & String(''));
write(-1 & String('hello'));
write(-1 & String('h' + 'ello'));
write(-1 & new String(''));
write(-1 & new String('hello'));
write(-1 & new String('he' + 'llo'));
write(-1 & new Object());
write(-1 & new Object());
write(-1 & [1, 2, 3]);
write(-1 & [1 ,2 , 3]);
write(-1 & new Array(3));
write(-1 & Array(3));
write(-1 & new Array(1 ,2 ,3));
write(-1 & Array(1));
write(-1 & foo);
write(-10 & undefined);
write(-10 & null);
write(-10 & true);
write(-10 & false);
write(-10 & Boolean(true));
write(-10 & Boolean(false));
write(-10 & new Boolean(true));
write(-10 & new Boolean(false));
write(-10 & NaN);
write(-10 & +0);
write(-10 & -0);
write(-10 & 0);
write(-10 & 0.0);
write(-10 & -0.0);
write(-10 & +0.0);
write(-10 & 1);
write(-10 & 10);
write(-10 & 10.0);
write(-10 & 10.1);
write(-10 & -1);
write(-10 & -10);
write(-10 & -10.0);
write(-10 & -10.1);
write(-10 & Number.MAX_VALUE);
write(-10 & Number.MIN_VALUE);
write(-10 & Number.NaN);
write(-10 & Number.POSITIVE_INFINITY);
write(-10 & Number.NEGATIVE_INFINITY);
write(-10 & new Number(NaN));
write(-10 & new Number(+0));
write(-10 & new Number(-0));
write(-10 & new Number(0));
write(-10 & new Number(0.0));
write(-10 & new Number(-0.0));
write(-10 & new Number(+0.0));
write(-10 & new Number(1));
write(-10 & new Number(10));
write(-10 & new Number(10.0));
write(-10 & new Number(10.1));
write(-10 & new Number(-1));
write(-10 & new Number(-10));
write(-10 & new Number(-10.0));
write(-10 & new Number(-10.1));
write(-10 & new Number(Number.MAX_VALUE));
write(-10 & new Number(Number.MIN_VALUE));
write(-10 & new Number(Number.NaN));
write(-10 & new Number(Number.POSITIVE_INFINITY));
write(-10 & new Number(Number.NEGATIVE_INFINITY));
write(-10 & '');
write(-10 & 0xa);
write(-10 & 04);
write(-10 & 'hello');
write(-10 & 'hel' + 'lo');
write(-10 & String(''));
write(-10 & String('hello'));
write(-10 & String('h' + 'ello'));
write(-10 & new String(''));
write(-10 & new String('hello'));
write(-10 & new String('he' + 'llo'));
write(-10 & new Object());
write(-10 & new Object());
write(-10 & [1, 2, 3]);
write(-10 & [1 ,2 , 3]);
write(-10 & new Array(3));
write(-10 & Array(3));
write(-10 & new Array(1 ,2 ,3));
write(-10 & Array(1));
write(-10 & foo);
write(-10.0 & undefined);
write(-10.0 & null);
write(-10.0 & true);
write(-10.0 & false);
write(-10.0 & Boolean(true));
write(-10.0 & Boolean(false));
write(-10.0 & new Boolean(true));
write(-10.0 & new Boolean(false));
write(-10.0 & NaN);
write(-10.0 & +0);
write(-10.0 & -0);
write(-10.0 & 0);
write(-10.0 & 0.0);
write(-10.0 & -0.0);
write(-10.0 & +0.0);
write(-10.0 & 1);
write(-10.0 & 10);
write(-10.0 & 10.0);
write(-10.0 & 10.1);
write(-10.0 & -1);
write(-10.0 & -10);
write(-10.0 & -10.0);
write(-10.0 & -10.1);
write(-10.0 & Number.MAX_VALUE);
write(-10.0 & Number.MIN_VALUE);
write(-10.0 & Number.NaN);
write(-10.0 & Number.POSITIVE_INFINITY);
write(-10.0 & Number.NEGATIVE_INFINITY);
write(-10.0 & new Number(NaN));
write(-10.0 & new Number(+0));
write(-10.0 & new Number(-0));
write(-10.0 & new Number(0));
write(-10.0 & new Number(0.0));
write(-10.0 & new Number(-0.0));
write(-10.0 & new Number(+0.0));
write(-10.0 & new Number(1));
write(-10.0 & new Number(10));
write(-10.0 & new Number(10.0));
write(-10.0 & new Number(10.1));
write(-10.0 & new Number(-1));
write(-10.0 & new Number(-10));
write(-10.0 & new Number(-10.0));
write(-10.0 & new Number(-10.1));
write(-10.0 & new Number(Number.MAX_VALUE));
write(-10.0 & new Number(Number.MIN_VALUE));
write(-10.0 & new Number(Number.NaN));
write(-10.0 & new Number(Number.POSITIVE_INFINITY));
write(-10.0 & new Number(Number.NEGATIVE_INFINITY));
write(-10.0 & '');
write(-10.0 & 0xa);
write(-10.0 & 04);
write(-10.0 & 'hello');
write(-10.0 & 'hel' + 'lo');
write(-10.0 & String(''));
write(-10.0 & String('hello'));
write(-10.0 & String('h' + 'ello'));
write(-10.0 & new String(''));
write(-10.0 & new String('hello'));
write(-10.0 & new String('he' + 'llo'));
write(-10.0 & new Object());
write(-10.0 & new Object());
write(-10.0 & [1, 2, 3]);
write(-10.0 & [1 ,2 , 3]);
write(-10.0 & new Array(3));
write(-10.0 & Array(3));
write(-10.0 & new Array(1 ,2 ,3));
write(-10.0 & Array(1));
write(-10.0 & foo);
write(-10.1 & undefined);
write(-10.1 & null);
write(-10.1 & true);
write(-10.1 & false);
write(-10.1 & Boolean(true));
write(-10.1 & Boolean(false));
write(-10.1 & new Boolean(true));
write(-10.1 & new Boolean(false));
write(-10.1 & NaN);
write(-10.1 & +0);
write(-10.1 & -0);
write(-10.1 & 0);
write(-10.1 & 0.0);
write(-10.1 & -0.0);
write(-10.1 & +0.0);
write(-10.1 & 1);
write(-10.1 & 10);
write(-10.1 & 10.0);
write(-10.1 & 10.1);
write(-10.1 & -1);
write(-10.1 & -10);
write(-10.1 & -10.0);
write(-10.1 & -10.1);
write(-10.1 & Number.MAX_VALUE);
write(-10.1 & Number.MIN_VALUE);
write(-10.1 & Number.NaN);
write(-10.1 & Number.POSITIVE_INFINITY);
write(-10.1 & Number.NEGATIVE_INFINITY);
write(-10.1 & new Number(NaN));
write(-10.1 & new Number(+0));
write(-10.1 & new Number(-0));
write(-10.1 & new Number(0));
write(-10.1 & new Number(0.0));
write(-10.1 & new Number(-0.0));
write(-10.1 & new Number(+0.0));
write(-10.1 & new Number(1));
write(-10.1 & new Number(10));
write(-10.1 & new Number(10.0));
write(-10.1 & new Number(10.1));
write(-10.1 & new Number(-1));
write(-10.1 & new Number(-10));
write(-10.1 & new Number(-10.0));
write(-10.1 & new Number(-10.1));
write(-10.1 & new Number(Number.MAX_VALUE));
write(-10.1 & new Number(Number.MIN_VALUE));
write(-10.1 & new Number(Number.NaN));
write(-10.1 & new Number(Number.POSITIVE_INFINITY));
write(-10.1 & new Number(Number.NEGATIVE_INFINITY));
write(-10.1 & '');
write(-10.1 & 0xa);
write(-10.1 & 04);
write(-10.1 & 'hello');
write(-10.1 & 'hel' + 'lo');
write(-10.1 & String(''));
write(-10.1 & String('hello'));
write(-10.1 & String('h' + 'ello'));
write(-10.1 & new String(''));
write(-10.1 & new String('hello'));
write(-10.1 & new String('he' + 'llo'));
write(-10.1 & new Object());
write(-10.1 & new Object());
write(-10.1 & [1, 2, 3]);
write(-10.1 & [1 ,2 , 3]);
write(-10.1 & new Array(3));
write(-10.1 & Array(3));
write(-10.1 & new Array(1 ,2 ,3));
write(-10.1 & Array(1));
write(-10.1 & foo);
write(Number.MAX_VALUE & undefined);
write(Number.MAX_VALUE & null);
write(Number.MAX_VALUE & true);
write(Number.MAX_VALUE & false);
write(Number.MAX_VALUE & Boolean(true));
write(Number.MAX_VALUE & Boolean(false));
write(Number.MAX_VALUE & new Boolean(true));
write(Number.MAX_VALUE & new Boolean(false));
write(Number.MAX_VALUE & NaN);
write(Number.MAX_VALUE & +0);
write(Number.MAX_VALUE & -0);
write(Number.MAX_VALUE & 0);
write(Number.MAX_VALUE & 0.0);
write(Number.MAX_VALUE & -0.0);
write(Number.MAX_VALUE & +0.0);
write(Number.MAX_VALUE & 1);
write(Number.MAX_VALUE & 10);
write(Number.MAX_VALUE & 10.0);
write(Number.MAX_VALUE & 10.1);
write(Number.MAX_VALUE & -1);
write(Number.MAX_VALUE & -10);
write(Number.MAX_VALUE & -10.0);
write(Number.MAX_VALUE & -10.1);
write(Number.MAX_VALUE & Number.MAX_VALUE);
write(Number.MAX_VALUE & Number.MIN_VALUE);
write(Number.MAX_VALUE & Number.NaN);
write(Number.MAX_VALUE & Number.POSITIVE_INFINITY);
write(Number.MAX_VALUE & Number.NEGATIVE_INFINITY);
write(Number.MAX_VALUE & new Number(NaN));
write(Number.MAX_VALUE & new Number(+0));
write(Number.MAX_VALUE & new Number(-0));
write(Number.MAX_VALUE & new Number(0));
write(Number.MAX_VALUE & new Number(0.0));
write(Number.MAX_VALUE & new Number(-0.0));
write(Number.MAX_VALUE & new Number(+0.0));
write(Number.MAX_VALUE & new Number(1));
write(Number.MAX_VALUE & new Number(10));
write(Number.MAX_VALUE & new Number(10.0));
write(Number.MAX_VALUE & new Number(10.1));
write(Number.MAX_VALUE & new Number(-1));
write(Number.MAX_VALUE & new Number(-10));
write(Number.MAX_VALUE & new Number(-10.0));
write(Number.MAX_VALUE & new Number(-10.1));
write(Number.MAX_VALUE & new Number(Number.MAX_VALUE));
write(Number.MAX_VALUE & new Number(Number.MIN_VALUE));
write(Number.MAX_VALUE & new Number(Number.NaN));
write(Number.MAX_VALUE & new Number(Number.POSITIVE_INFINITY));
write(Number.MAX_VALUE & new Number(Number.NEGATIVE_INFINITY));
write(Number.MAX_VALUE & '');
write(Number.MAX_VALUE & 0xa);
write(Number.MAX_VALUE & 04);
write(Number.MAX_VALUE & 'hello');
write(Number.MAX_VALUE & 'hel' + 'lo');
write(Number.MAX_VALUE & String(''));
write(Number.MAX_VALUE & String('hello'));
write(Number.MAX_VALUE & String('h' + 'ello'));
write(Number.MAX_VALUE & new String(''));
write(Number.MAX_VALUE & new String('hello'));
write(Number.MAX_VALUE & new String('he' + 'llo'));
write(Number.MAX_VALUE & new Object());
write(Number.MAX_VALUE & new Object());
write(Number.MAX_VALUE & [1, 2, 3]);
write(Number.MAX_VALUE & [1 ,2 , 3]);
write(Number.MAX_VALUE & new Array(3));
write(Number.MAX_VALUE & Array(3));
write(Number.MAX_VALUE & new Array(1 ,2 ,3));
write(Number.MAX_VALUE & Array(1));
write(Number.MAX_VALUE & foo);
write(Number.MIN_VALUE & undefined);
write(Number.MIN_VALUE & null);
write(Number.MIN_VALUE & true);
write(Number.MIN_VALUE & false);
write(Number.MIN_VALUE & Boolean(true));
write(Number.MIN_VALUE & Boolean(false));
write(Number.MIN_VALUE & new Boolean(true));
write(Number.MIN_VALUE & new Boolean(false));
write(Number.MIN_VALUE & NaN);
write(Number.MIN_VALUE & +0);
write(Number.MIN_VALUE & -0);
write(Number.MIN_VALUE & 0);
write(Number.MIN_VALUE & 0.0);
write(Number.MIN_VALUE & -0.0);
write(Number.MIN_VALUE & +0.0);
write(Number.MIN_VALUE & 1);
write(Number.MIN_VALUE & 10);
write(Number.MIN_VALUE & 10.0);
write(Number.MIN_VALUE & 10.1);
write(Number.MIN_VALUE & -1);
write(Number.MIN_VALUE & -10);
write(Number.MIN_VALUE & -10.0);
write(Number.MIN_VALUE & -10.1);
write(Number.MIN_VALUE & Number.MAX_VALUE);
write(Number.MIN_VALUE & Number.MIN_VALUE);
write(Number.MIN_VALUE & Number.NaN);
write(Number.MIN_VALUE & Number.POSITIVE_INFINITY);
write(Number.MIN_VALUE & Number.NEGATIVE_INFINITY);
write(Number.MIN_VALUE & new Number(NaN));
write(Number.MIN_VALUE & new Number(+0));
write(Number.MIN_VALUE & new Number(-0));
write(Number.MIN_VALUE & new Number(0));
write(Number.MIN_VALUE & new Number(0.0));
write(Number.MIN_VALUE & new Number(-0.0));
write(Number.MIN_VALUE & new Number(+0.0));
write(Number.MIN_VALUE & new Number(1));
write(Number.MIN_VALUE & new Number(10));
write(Number.MIN_VALUE & new Number(10.0));
write(Number.MIN_VALUE & new Number(10.1));
write(Number.MIN_VALUE & new Number(-1));
write(Number.MIN_VALUE & new Number(-10));
write(Number.MIN_VALUE & new Number(-10.0));
write(Number.MIN_VALUE & new Number(-10.1));
write(Number.MIN_VALUE & new Number(Number.MAX_VALUE));
write(Number.MIN_VALUE & new Number(Number.MIN_VALUE));
write(Number.MIN_VALUE & new Number(Number.NaN));
write(Number.MIN_VALUE & new Number(Number.POSITIVE_INFINITY));
write(Number.MIN_VALUE & new Number(Number.NEGATIVE_INFINITY));
write(Number.MIN_VALUE & '');
write(Number.MIN_VALUE & 0xa);
write(Number.MIN_VALUE & 04);
write(Number.MIN_VALUE & 'hello');
write(Number.MIN_VALUE & 'hel' + 'lo');
write(Number.MIN_VALUE & String(''));
write(Number.MIN_VALUE & String('hello'));
write(Number.MIN_VALUE & String('h' + 'ello'));
write(Number.MIN_VALUE & new String(''));
write(Number.MIN_VALUE & new String('hello'));
write(Number.MIN_VALUE & new String('he' + 'llo'));
write(Number.MIN_VALUE & new Object());
write(Number.MIN_VALUE & new Object());
write(Number.MIN_VALUE & [1, 2, 3]);
write(Number.MIN_VALUE & [1 ,2 , 3]);
write(Number.MIN_VALUE & new Array(3));
write(Number.MIN_VALUE & Array(3));
write(Number.MIN_VALUE & new Array(1 ,2 ,3));
write(Number.MIN_VALUE & Array(1));
write(Number.MIN_VALUE & foo);
write(Number.NaN & undefined);
write(Number.NaN & null);
write(Number.NaN & true);
write(Number.NaN & false);
write(Number.NaN & Boolean(true));
write(Number.NaN & Boolean(false));
write(Number.NaN & new Boolean(true));
write(Number.NaN & new Boolean(false));
write(Number.NaN & NaN);
write(Number.NaN & +0);
write(Number.NaN & -0);
write(Number.NaN & 0);
write(Number.NaN & 0.0);
write(Number.NaN & -0.0);
write(Number.NaN & +0.0);
write(Number.NaN & 1);
write(Number.NaN & 10);
write(Number.NaN & 10.0);
write(Number.NaN & 10.1);
write(Number.NaN & -1);
write(Number.NaN & -10);
write(Number.NaN & -10.0);
write(Number.NaN & -10.1);
write(Number.NaN & Number.MAX_VALUE);
write(Number.NaN & Number.MIN_VALUE);
write(Number.NaN & Number.NaN);
write(Number.NaN & Number.POSITIVE_INFINITY);
write(Number.NaN & Number.NEGATIVE_INFINITY);
write(Number.NaN & new Number(NaN));
write(Number.NaN & new Number(+0));
write(Number.NaN & new Number(-0));
write(Number.NaN & new Number(0));
write(Number.NaN & new Number(0.0));
write(Number.NaN & new Number(-0.0));
write(Number.NaN & new Number(+0.0));
write(Number.NaN & new Number(1));
write(Number.NaN & new Number(10));
write(Number.NaN & new Number(10.0));
write(Number.NaN & new Number(10.1));
write(Number.NaN & new Number(-1));
write(Number.NaN & new Number(-10));
write(Number.NaN & new Number(-10.0));
write(Number.NaN & new Number(-10.1));
write(Number.NaN & new Number(Number.MAX_VALUE));
write(Number.NaN & new Number(Number.MIN_VALUE));
write(Number.NaN & new Number(Number.NaN));
write(Number.NaN & new Number(Number.POSITIVE_INFINITY));
write(Number.NaN & new Number(Number.NEGATIVE_INFINITY));
write(Number.NaN & '');
write(Number.NaN & 0xa);
write(Number.NaN & 04);
write(Number.NaN & 'hello');
write(Number.NaN & 'hel' + 'lo');
write(Number.NaN & String(''));
write(Number.NaN & String('hello'));
write(Number.NaN & String('h' + 'ello'));
write(Number.NaN & new String(''));
write(Number.NaN & new String('hello'));
write(Number.NaN & new String('he' + 'llo'));
write(Number.NaN & new Object());
write(Number.NaN & new Object());
write(Number.NaN & [1, 2, 3]);
write(Number.NaN & [1 ,2 , 3]);
write(Number.NaN & new Array(3));
write(Number.NaN & Array(3));
write(Number.NaN & new Array(1 ,2 ,3));
write(Number.NaN & Array(1));
write(Number.NaN & foo);
write(Number.POSITIVE_INFINITY & undefined);
write(Number.POSITIVE_INFINITY & null);
write(Number.POSITIVE_INFINITY & true);
write(Number.POSITIVE_INFINITY & false);
write(Number.POSITIVE_INFINITY & Boolean(true));
write(Number.POSITIVE_INFINITY & Boolean(false));
write(Number.POSITIVE_INFINITY & new Boolean(true));
write(Number.POSITIVE_INFINITY & new Boolean(false));
write(Number.POSITIVE_INFINITY & NaN);
write(Number.POSITIVE_INFINITY & +0);
write(Number.POSITIVE_INFINITY & -0);
write(Number.POSITIVE_INFINITY & 0);
write(Number.POSITIVE_INFINITY & 0.0);
write(Number.POSITIVE_INFINITY & -0.0);
write(Number.POSITIVE_INFINITY & +0.0);
write(Number.POSITIVE_INFINITY & 1);
write(Number.POSITIVE_INFINITY & 10);
write(Number.POSITIVE_INFINITY & 10.0);
write(Number.POSITIVE_INFINITY & 10.1);
write(Number.POSITIVE_INFINITY & -1);
write(Number.POSITIVE_INFINITY & -10);
write(Number.POSITIVE_INFINITY & -10.0);
write(Number.POSITIVE_INFINITY & -10.1);
write(Number.POSITIVE_INFINITY & Number.MAX_VALUE);
write(Number.POSITIVE_INFINITY & Number.MIN_VALUE);
write(Number.POSITIVE_INFINITY & Number.NaN);
write(Number.POSITIVE_INFINITY & Number.POSITIVE_INFINITY);
write(Number.POSITIVE_INFINITY & Number.NEGATIVE_INFINITY);
write(Number.POSITIVE_INFINITY & new Number(NaN));
write(Number.POSITIVE_INFINITY & new Number(+0));
write(Number.POSITIVE_INFINITY & new Number(-0));
write(Number.POSITIVE_INFINITY & new Number(0));
write(Number.POSITIVE_INFINITY & new Number(0.0));
write(Number.POSITIVE_INFINITY & new Number(-0.0));
write(Number.POSITIVE_INFINITY & new Number(+0.0));
write(Number.POSITIVE_INFINITY & new Number(1));
write(Number.POSITIVE_INFINITY & new Number(10));
write(Number.POSITIVE_INFINITY & new Number(10.0));
write(Number.POSITIVE_INFINITY & new Number(10.1));
write(Number.POSITIVE_INFINITY & new Number(-1));
write(Number.POSITIVE_INFINITY & new Number(-10));
write(Number.POSITIVE_INFINITY & new Number(-10.0));
write(Number.POSITIVE_INFINITY & new Number(-10.1));
write(Number.POSITIVE_INFINITY & new Number(Number.MAX_VALUE));
write(Number.POSITIVE_INFINITY & new Number(Number.MIN_VALUE));
write(Number.POSITIVE_INFINITY & new Number(Number.NaN));
write(Number.POSITIVE_INFINITY & new Number(Number.POSITIVE_INFINITY));
write(Number.POSITIVE_INFINITY & new Number(Number.NEGATIVE_INFINITY));
write(Number.POSITIVE_INFINITY & '');
write(Number.POSITIVE_INFINITY & 0xa);
write(Number.POSITIVE_INFINITY & 04);
write(Number.POSITIVE_INFINITY & 'hello');
write(Number.POSITIVE_INFINITY & 'hel' + 'lo');
write(Number.POSITIVE_INFINITY & String(''));
write(Number.POSITIVE_INFINITY & String('hello'));
write(Number.POSITIVE_INFINITY & String('h' + 'ello'));
write(Number.POSITIVE_INFINITY & new String(''));
write(Number.POSITIVE_INFINITY & new String('hello'));
write(Number.POSITIVE_INFINITY & new String('he' + 'llo'));
write(Number.POSITIVE_INFINITY & new Object());
write(Number.POSITIVE_INFINITY & new Object());
write(Number.POSITIVE_INFINITY & [1, 2, 3]);
write(Number.POSITIVE_INFINITY & [1 ,2 , 3]);
write(Number.POSITIVE_INFINITY & new Array(3));
write(Number.POSITIVE_INFINITY & Array(3));
write(Number.POSITIVE_INFINITY & new Array(1 ,2 ,3));
write(Number.POSITIVE_INFINITY & Array(1));
write(Number.POSITIVE_INFINITY & foo);
write(Number.NEGATIVE_INFINITY & undefined);
write(Number.NEGATIVE_INFINITY & null);
write(Number.NEGATIVE_INFINITY & true);
write(Number.NEGATIVE_INFINITY & false);
write(Number.NEGATIVE_INFINITY & Boolean(true));
write(Number.NEGATIVE_INFINITY & Boolean(false));
write(Number.NEGATIVE_INFINITY & new Boolean(true));
write(Number.NEGATIVE_INFINITY & new Boolean(false));
write(Number.NEGATIVE_INFINITY & NaN);
write(Number.NEGATIVE_INFINITY & +0);
write(Number.NEGATIVE_INFINITY & -0);
write(Number.NEGATIVE_INFINITY & 0);
write(Number.NEGATIVE_INFINITY & 0.0);
write(Number.NEGATIVE_INFINITY & -0.0);
write(Number.NEGATIVE_INFINITY & +0.0);
write(Number.NEGATIVE_INFINITY & 1);
write(Number.NEGATIVE_INFINITY & 10);
write(Number.NEGATIVE_INFINITY & 10.0);
write(Number.NEGATIVE_INFINITY & 10.1);
write(Number.NEGATIVE_INFINITY & -1);
write(Number.NEGATIVE_INFINITY & -10);
write(Number.NEGATIVE_INFINITY & -10.0);
write(Number.NEGATIVE_INFINITY & -10.1);
write(Number.NEGATIVE_INFINITY & Number.MAX_VALUE);
write(Number.NEGATIVE_INFINITY & Number.MIN_VALUE);
write(Number.NEGATIVE_INFINITY & Number.NaN);
write(Number.NEGATIVE_INFINITY & Number.POSITIVE_INFINITY);
write(Number.NEGATIVE_INFINITY & Number.NEGATIVE_INFINITY);
write(Number.NEGATIVE_INFINITY & new Number(NaN));
write(Number.NEGATIVE_INFINITY & new Number(+0));
write(Number.NEGATIVE_INFINITY & new Number(-0));
write(Number.NEGATIVE_INFINITY & new Number(0));
write(Number.NEGATIVE_INFINITY & new Number(0.0));
write(Number.NEGATIVE_INFINITY & new Number(-0.0));
write(Number.NEGATIVE_INFINITY & new Number(+0.0));
write(Number.NEGATIVE_INFINITY & new Number(1));
write(Number.NEGATIVE_INFINITY & new Number(10));
write(Number.NEGATIVE_INFINITY & new Number(10.0));
write(Number.NEGATIVE_INFINITY & new Number(10.1));
write(Number.NEGATIVE_INFINITY & new Number(-1));
write(Number.NEGATIVE_INFINITY & new Number(-10));
write(Number.NEGATIVE_INFINITY & new Number(-10.0));
write(Number.NEGATIVE_INFINITY & new Number(-10.1));
write(Number.NEGATIVE_INFINITY & new Number(Number.MAX_VALUE));
write(Number.NEGATIVE_INFINITY & new Number(Number.MIN_VALUE));
write(Number.NEGATIVE_INFINITY & new Number(Number.NaN));
write(Number.NEGATIVE_INFINITY & new Number(Number.POSITIVE_INFINITY));
write(Number.NEGATIVE_INFINITY & new Number(Number.NEGATIVE_INFINITY));
write(Number.NEGATIVE_INFINITY & '');
write(Number.NEGATIVE_INFINITY & 0xa);
write(Number.NEGATIVE_INFINITY & 04);
write(Number.NEGATIVE_INFINITY & 'hello');
write(Number.NEGATIVE_INFINITY & 'hel' + 'lo');
write(Number.NEGATIVE_INFINITY & String(''));
write(Number.NEGATIVE_INFINITY & String('hello'));
write(Number.NEGATIVE_INFINITY & String('h' + 'ello'));
write(Number.NEGATIVE_INFINITY & new String(''));
write(Number.NEGATIVE_INFINITY & new String('hello'));
write(Number.NEGATIVE_INFINITY & new String('he' + 'llo'));
write(Number.NEGATIVE_INFINITY & new Object());
write(Number.NEGATIVE_INFINITY & new Object());
write(Number.NEGATIVE_INFINITY & [1, 2, 3]);
write(Number.NEGATIVE_INFINITY & [1 ,2 , 3]);
write(Number.NEGATIVE_INFINITY & new Array(3));
write(Number.NEGATIVE_INFINITY & Array(3));
write(Number.NEGATIVE_INFINITY & new Array(1 ,2 ,3));
write(Number.NEGATIVE_INFINITY & Array(1));
write(Number.NEGATIVE_INFINITY & foo);
write(new Number(NaN) & undefined);
write(new Number(NaN) & null);
write(new Number(NaN) & true);
write(new Number(NaN) & false);
write(new Number(NaN) & Boolean(true));
write(new Number(NaN) & Boolean(false));
write(new Number(NaN) & new Boolean(true));
write(new Number(NaN) & new Boolean(false));
write(new Number(NaN) & NaN);
write(new Number(NaN) & +0);
write(new Number(NaN) & -0);
write(new Number(NaN) & 0);
write(new Number(NaN) & 0.0);
write(new Number(NaN) & -0.0);
write(new Number(NaN) & +0.0);
write(new Number(NaN) & 1);
write(new Number(NaN) & 10);
write(new Number(NaN) & 10.0);
write(new Number(NaN) & 10.1);
write(new Number(NaN) & -1);
write(new Number(NaN) & -10);
write(new Number(NaN) & -10.0);
write(new Number(NaN) & -10.1);
write(new Number(NaN) & Number.MAX_VALUE);
write(new Number(NaN) & Number.MIN_VALUE);
write(new Number(NaN) & Number.NaN);
write(new Number(NaN) & Number.POSITIVE_INFINITY);
write(new Number(NaN) & Number.NEGATIVE_INFINITY);
write(new Number(NaN) & new Number(NaN));
write(new Number(NaN) & new Number(+0));
write(new Number(NaN) & new Number(-0));
write(new Number(NaN) & new Number(0));
write(new Number(NaN) & new Number(0.0));
write(new Number(NaN) & new Number(-0.0));
write(new Number(NaN) & new Number(+0.0));
write(new Number(NaN) & new Number(1));
write(new Number(NaN) & new Number(10));
write(new Number(NaN) & new Number(10.0));
write(new Number(NaN) & new Number(10.1));
write(new Number(NaN) & new Number(-1));
write(new Number(NaN) & new Number(-10));
write(new Number(NaN) & new Number(-10.0));
write(new Number(NaN) & new Number(-10.1));
write(new Number(NaN) & new Number(Number.MAX_VALUE));
write(new Number(NaN) & new Number(Number.MIN_VALUE));
write(new Number(NaN) & new Number(Number.NaN));
write(new Number(NaN) & new Number(Number.POSITIVE_INFINITY));
write(new Number(NaN) & new Number(Number.NEGATIVE_INFINITY));
write(new Number(NaN) & '');
write(new Number(NaN) & 0xa);
write(new Number(NaN) & 04);
write(new Number(NaN) & 'hello');
write(new Number(NaN) & 'hel' + 'lo');
write(new Number(NaN) & String(''));
write(new Number(NaN) & String('hello'));
write(new Number(NaN) & String('h' + 'ello'));
write(new Number(NaN) & new String(''));
write(new Number(NaN) & new String('hello'));
write(new Number(NaN) & new String('he' + 'llo'));
write(new Number(NaN) & new Object());
write(new Number(NaN) & new Object());
write(new Number(NaN) & [1, 2, 3]);
write(new Number(NaN) & [1 ,2 , 3]);
write(new Number(NaN) & new Array(3));
write(new Number(NaN) & Array(3));
write(new Number(NaN) & new Array(1 ,2 ,3));
write(new Number(NaN) & Array(1));
write(new Number(NaN) & foo);
write(new Number(+0) & undefined);
write(new Number(+0) & null);
write(new Number(+0) & true);
write(new Number(+0) & false);
write(new Number(+0) & Boolean(true));
write(new Number(+0) & Boolean(false));
write(new Number(+0) & new Boolean(true));
write(new Number(+0) & new Boolean(false));
write(new Number(+0) & NaN);
write(new Number(+0) & +0);
write(new Number(+0) & -0);
write(new Number(+0) & 0);
write(new Number(+0) & 0.0);
write(new Number(+0) & -0.0);
write(new Number(+0) & +0.0);
write(new Number(+0) & 1);
write(new Number(+0) & 10);
write(new Number(+0) & 10.0);
write(new Number(+0) & 10.1);
write(new Number(+0) & -1);
write(new Number(+0) & -10);
write(new Number(+0) & -10.0);
write(new Number(+0) & -10.1);
write(new Number(+0) & Number.MAX_VALUE);
write(new Number(+0) & Number.MIN_VALUE);
write(new Number(+0) & Number.NaN);
write(new Number(+0) & Number.POSITIVE_INFINITY);
write(new Number(+0) & Number.NEGATIVE_INFINITY);
write(new Number(+0) & new Number(NaN));
